package 数学类;

public class 常用方法 {
    public static void main(String[] args) {
        //abs--->获取参数的绝对值
        System.out.println( Math.abs(-1));//1
        System.out.println( Math.abs(1));//1
        System.out.println( Math.abs(-1.2));//1.2

        //bug:
        //以int类型eg 取值范围 -2147483648 ~ 2147483647
        //如果没有整数与负数对应，那么传递的结果有误
        //-2147383648没有整数对应，所以abs会产生bug
        System.out.println(Math.abs(-2147483648));//-2147483648
        System.out.println(Math.abs(-2147483647));//2147483647
//        System.out.println(Math.absExact(-2147483648));//会有错误提示，如果没有对应的值

        //ceil--->向上取整
        System.out.println(Math.ceil(12.34));//13.0
        System.out.println(Math.ceil(12.54));//13.0
        System.out.println(Math.ceil(-12.34));//-12.0
        System.out.println(Math.ceil(-12.50));//-12.0

        //floor---->向下取整数.
        System.out.println("------------------------------");
        System.out.println(Math.floor(12.34));//12.0
        System.out.println(Math.floor(12.54));//12.0
        System.out.println(Math.floor(-12.34));//-13.0
        System.out.println(Math.floor(-12.50));//-13.0

        //round--->四舍五入法
        System.out.println(Math.round(12.34));//12
        System.out.println(Math.round(12.54));//13
        System.out.println(Math.round(-12.34));//-12
        System.out.println(Math.round(-12.50));//-13

        //max返回二个整数的较大值
        System.out.println(Math.max(20,30));//30
        //min返回二个整数的较小值
        System.out.println(Math.min(20,30));//20

        //获取a的b次幂
        System.out.println(Math.pow(2,3));//二的三次方8.0

        //开根号Sqrt
        System.out.println(Math.sqrt(4));//2.0

        //开立方cbrt
        System.out.println(Math.cbrt(8));//2.0
        //random()     获取一个在[0.0,1.0)的随机数
        for (int i = 0; i < 10; i++) {
            System.out.println(Math.random());
        }
    }
}
